1. Field of the Invention
The present invention generally relates to hearing aids. The invention, more specifically, relates to a method for controlling the signal processing in a hearing aid and a hearing aid implementing such a method. More particularly, the present invention relates to a method for estimation of the autocorrelation index (ACI) which is utilized for control of the signal processing in a hearing aid.
2. Description of the Related Art
It is known in the prior art that a measure of signal autocorrelation may be useful in controlling signal processing of a hearing aid. In particular, features related to the autocorrelation index have been suggested to control adaptation rate of a feedback compensation system like a feedback cancellation filter in a hearing aid. It is also known that the calculation of such a measure can be quite costly in terms of memory demand and computational load. The ACI has also been suggested as input to other systems of a hearing aid such as an Auditory Scene Analysis (ASA) system. The ASA system provides a classification of the sound or noise environment of the hearing aid, partly based on the ACI, and helps the hearing aid's gain related systems to select an appropriate gain strategy. More generalized, the ACI helps the subsequent systems in the hearing aid to reach an appropriate strategy of functionality. Such systems could be a feedback cancellation system as mentioned above, an automatic loop gain estimator, an adaptive directional system (multi microphone system), a signal compression system (calculation of appropriate gain), a frequency modification system, etc. Thus, a good estimate of ACI could generally enhance the operation of a hearing aid.
The classical approach to illustrate ACI related features is to calculate a value of the signals self-resemblance by the autocorrelation function rxx as follows:
                                          r            xx                    ⁡                      (            τ            )                          =                              lim                          T              ->              ∞                                ⁢                                    1              T                        ⁢                                          ∫                                                      -                    T                                    /                  2                                                  T                  /                  2                                            ⁢                                                                    x                    ⁡                                          (                      t                      )                                                        ·                                      x                    ⁡                                          (                                              t                        -                        τ                                            )                                                                      ⁢                                                                  ⁢                                  ⅆ                  t                                                                                        (        1        )            in which t indicates the time and τ indicates the time lag or delay of the signal. In a discrete time domain, the equation above turns into a sum:
                                          r            xx                    ⁡                      (            j            )                          =                              1            N                    ⁢                                    ∑                              n                =                0                                            N                -                1                                      ⁢                                          x                ⁡                                  (                  n                  )                                            ·                              x                ⁡                                  (                                      n                    -                    j                                    )                                                                                        (        2        )            in which n indicates the sample number or time stamp and j indicates the sample lag. Normalizing this index with rxx(0) creates an index ρxx(n) with a ±1 range, in which +1 indicates exact self likeness and −1 indicates exact opposite waveform:
                                          ρ            xx                    ⁡                      (            j            )                          =                                            ∑                              n                =                0                                            N                -                1                                      ⁢                                          x                ⁡                                  (                  n                  )                                            ·                              x                ⁡                                  (                                      n                    -                    j                                    )                                                                                        ∑                              n                =                0                                            N                -                1                                      ⁢                                          x                ⁡                                  (                  n                  )                                            2                                                          (        3        )            
It is well known within the art, that the autocorrelation function for a sinusoidal waveform is a cosine, and that white noise (a stationary stochastic process) generates a Dirac delta function as shown in the following equation:
                                          x            ⁡                          (              n              )                                =                                                    A                ·                                  sin                  ⁡                                      (                                                                  ω                        ⁢                                                                                                  ⁢                                                  n                          /                                                      f                            s                                                                                              +                      ϕ                                        )                                                              ⇒                                                                    r                    xx                                    ⁡                                      (                    j                    )                                                  →                                                      A                    2                                    ·                                      cos                    ⁡                                          (                                              ω                        ⁢                                                                                                  ⁢                        j                                            )                                                                                            ❘                                          N                →                ∞                ⇒                                                                            ρ                      xx                                        ⁡                                          (                      j                      )                                                        →                                      cos                    ⁡                                          (                                              ω                        ⁢                                                                                                  ⁢                        j                                            )                                                                                  ❘                              N                →                ∞                                                    ⁢                                  ⁢                              x            ⁡                          (              n              )                                =                                                    σ                x                            ·                              s                ⁡                                  (                  n                  )                                                      ⇒                                                                                                                              r                        xx                                            ⁡                                              (                        n                        )                                                              ->                                          σ                      x                      2                                                                                                                                                          ❘                        n                                            =                      0                                        ;                                                                  N                        ->                                                  ∞                          ⇒                                                                                    ρ                              xx                                                        ⁡                                                          (                              n                              )                                                                                                                          =                      1                                                                                                                                  ❘                      n                                        =                    0                                                                                                                                                                  r                        xx                                            ⁡                                              (                        n                        )                                                              ->                    0                                                                                                              ❘                                              n                        ≠                        0                                                              ;                                          N                      ->                                                                        ∞                          ⁢                                                                                                          ⁢                                                                                    ρ                              xx                                                        ⁡                                                          (                              n                              )                                                                                                      ->                        0                                                                                                                                                        ❘                                              n                        ≠                        0                                                              ;                                          N                      ->                      ∞                                                                                                                              (        4        )            where s(n) is a unit variance stochastic sequence.
In the context of adaptive feedback cancellation systems, one could use an analysis of this function to control the adaptation rate of the adaptive filter. Thus, if |ρxx(j)| or |rxx(j)| is large enough (j≠0), it could indicate a tonal microphone input such as feedback howling or an extraneous whistle. The adaptation rate controller could subsequently, in theory that is, apply its control strategy based on this fact in combination with other features. However, the numerous samples needed to be stored and the numerous multiplications required in the calculation make this approach unmanageable in most practical hearing aids.
For example, in the book: Haykin, S.: Adaptive Filter Theory, 3 rd Edition, Prentice-Hall, N.J., USA, 1996, it is suggested to use the condition number of an auto correlation matrix as an index of signal self-resemblance. This technique is also suggested in patent application EP-A-1 228 665, however, the approach is quite cumbersome and thus out of reach in modern hearing aids for the time being. Furthermore, the technique does not pinpoint the needs of subsequent systems in a hearing aid as mentioned above.
Another approach suggested in patent application EP-A-1 228 665 is to compare the sound pressure levels at two different frequencies, i.e. to compare the minimum and maximum energy output of a filter bank. Also this technique has its shortcomings, as it tells little about the amount of self-resemblance within a given frequency band.
Another technique is disclosed in patent application WO-A2-01/06746 according to which the signal bandwidth is estimated by means of a second order linear predictor. Extracting the coefficients from the linear predictor indicates to which extent a sound can be thought of as being sinusoidal and at which frequency. In WO-A2-01/06746, the bandwidth detection is fed into a system for determining the adaptation rate of a feedback cancellation system. The bandwidth detection technique described therein fails, however, in delivering a robust measure of self-resemblance when more than one sinusoid is present in the signal.
Yet another prior art technique suggests to count the signal's zero crossing rate. It is a practical and simple approach, but it is also without the sufficient accuracy for a wide range of applications in modern hearing aids.
As previously described, existing solutions do not provide ACI estimation at reasonable memory and computation costs. Furthermore, the known solutions do not provide ACI estimation features meeting the requirements of today's hearing aids sub-systems.
Therefore, there still exists a need for improvements in this area. In particular, there exists a need for hearing aids in which methods for controlling signal processing based on improved ACI estimation have been implemented.